Skip to content

[FEAT] KAKAO & GOOGLE with OIDC 로그인 구현#8

Open
Neo1228 wants to merge 17 commits intomainfrom
feat/6-OIDC
Open

[FEAT] KAKAO & GOOGLE with OIDC 로그인 구현#8
Neo1228 wants to merge 17 commits intomainfrom
feat/6-OIDC

Conversation

@Neo1228
Copy link
Contributor

@Neo1228 Neo1228 commented Aug 18, 2025

📋 PR 체크리스트

  • 브랜치명이 규칙에 맞게 작성되었나요? (feature/이슈번호-기능명)
  • 모든 테스트가 통과하나요?
  • 코드 리뷰 요청을 보냈나요?
  • 관련 이슈가 있다면 연결했나요?

🎯 작업 내용

변경사항

기존 OAuth2 방식에서는 Access Token을 발급받은 후, 사용자 정보를 가져오기 위해 별도의 API를 다시 호출해야 했습니다. OIDC 프로토콜을 도입하여 이 과정을 개선했습니다. 이제는 인증과 동시에 ID Token을 발급받고, 해당 토큰 안에 포함된 사용자 정보를 직접 사용하여 로그인 처리를 완료합니다. 이 변경으로 로그인 흐름이 더 간결해지고 보안적으로 강화되었습니다.

주요 구현 내용은 다음과 같습니다.

  • 로그인 API 통합 및 표준화
    GET /api/auth/login/{provider}라는 단일 엔드포인트를 통해 Kakao와 Google 로그인을 모두 처리하도록 구현했습니다. {provider} 경로 변수(path variable)를 통해 어떤 소셜 로그인을 사용할지 동적으로 결정하므로, 앞으로 다른 소셜 로그인을 추가하더라도 확장성 있게 대응할 수 있습니다.

  • ID Token 기반의 인증 로직 구현

    • Provider별 Util 클래스 역할 정의: KakaoUtil과 GoogleUtil은 프론트엔드에서 전달받은 인가 코드(Authorization Code)를 사용하여 각 소셜 플랫폼의 인증 서버에 토큰을 요청하는 역할을 합니다. 이 과정에서 Access Token과 함께 핵심적인 ID Token을 받아옵니다.
    • ID Token 검증 및 사용자 정보 추출: AuthService는 KakaoUtil 또는 GoogleUtil로부터 ID Token을 전달받습니다. 그 후 JwtUtil을 통해 해당 ID Token의 서명과 유효성을 검증하고, 토큰 안에 암호화된 사용자 정보(Claims)를 안전하게 추출합니다. 이로써 사용자 정보를 조회하기 위한 불필요한 외부 API 호출을 제거했습니다.

작업 유형

  • 🎉 새로운 기능 (feature)
  • 🐛 버그 수정 (bug fix)
  • 📝 문서 업데이트 (documentation)
  • 🎨 코드 스타일 변경 (formatting, renaming)
  • ♻️ 코드 리팩토링 (no functional changes)
  • ⚡ 성능 개선 (performance)
  • ✅ 테스트 추가 또는 수정 (test)
  • 🔧 빌드 및 설정 변경 (chore)

🔗 관련 이슈

#6

🧪 테스트 방법

  1. 기존의 api는 인가코드만 보내는 형식이였다면 OIDC를 적용하면서 provider(제공자) 라는 파라미터를 통해서 카카오인지 혹은 구글인지 구분하도록 구현하였습니다.

📸 스크린샷 (선택사항)

image image

💬 추가 설명

@Neo1228 Neo1228 requested a review from FrontHeadlock August 18, 2025 17:39
@Neo1228 Neo1228 self-assigned this Aug 18, 2025
@Neo1228 Neo1228 added the ✨ Feature 새로운 기능 추가 label Aug 18, 2025
@Neo1228 Neo1228 linked an issue Aug 18, 2025 that may be closed by this pull request
3 tasks
@Neo1228 Neo1228 changed the title [FEAT] KAKAO & GOOGLE with OICD 로그인 구현 [FEAT] KAKAO & GOOGLE with OIDC 로그인 구현 Aug 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 카카오 & 구글 OIDC 적용

1 participant